#!/usr/bin/perl

require "./mailadmin-lib.pl";
&ReadParse();

my ($err_msg, $wb_port, $wb_maxmsg, $cur_wb_port);

$wb_port = $in{'wb_port'};
$wb_maxmsg = $in{'wb_maxmsg'};
$cur_wb_port = &get_wbmail_port();

unless ($wb_port)
{
    $err_msg = $text{'msg_wbmail_port_empty'};
    goto ERROR_OUT;
}

$err_msg = &check_input_not_integer($wb_port);
if ($err_msg)
{
    goto ERROR_OUT;
}

if (($wb_port >= 65535) || ($wb_port <= 1024))
{
    $err_msg = $text{'msg_err_wbport_overload'};
    goto ERROR_OUT;
}

#$databytes = sprintf "%.0f", $databytes*1048756;

unless ($wb_maxmsg)
{
    $err_msg = $text{'msg_wbmail_maxmsg_empty'};
    goto ERROR_OUT;
}

$err_msg = &check_input_num($wb_maxmsg);
if ($err_msg)
{
    goto ERROR_OUT;
}

if ($wb_maxmsg < 1)
{
    $wb_maxmsg = 1;
}

if (&is_ipport_used($wb_port) && ($wb_port != $cur_wb_port))
{
    $err_msg = &text('msg_err_wbport_used', $wb_port);
    goto ERROR_OUT;
}

&save_wbmail_port($wb_port);
&save_wbmail_msgsize($wb_maxmsg);

&serv_act("webmailserv", "restart");

if ($err_msg)
{
    goto ERROR_OUT;
}

&redirect("");

exit 0;

ERROR_OUT:;

my (@headp, @footp);
@headp = ($text{'error'}, "");
@footp = ("serv_conf.cgi?servradio=webmailserv", $text{'back_webmailconf'});
&mail_error(\@headp, \@footp, $text{'err_title_save_webmail_conf'}, $err_msg);
